Computer systems typically include a central processing unit (CPU), devices within the computer such as memory storage devices, and the capability to interface with peripheral devices outside the computer by means of, for example, option slots. Computer systems use buses to carry the signals between these various components of the computer system allowing the CPU and the devices to communicate with each other. Until recently, computer systems typically used an Industry Standard Architecture (ISA) bus to provide the mechanism to transfer instructions between the CPU and peripherals. An ISA bus operates relatively slowly, on the order of 8 MHZ nominally. The computer devices operating over the ISA bus included both internal and peripheral direct memory access (DMA) devices to access memory storage devices within the computer. A standard exists for ISA-compatible DMA controllers that defines how to communicate with these DMA controllers, the DMA controller's address locations on the input/uotput (I/O) map, and how the DMA controllers work in general. The ISA-compatible DMA controllers standard is based on an 8237 Intel DMA controller.
Advancements in the computer industry have resulted in faster buses that operate on the order of 20-66 MHZ. Two of these newer, faster buses, the VESA Local (VL) bus and the Peripheral Component Interconnect(PCI) bus, have developed into standard buses in the computer industry. These buses allow faster operation, but do not provide DMA hardware or software support like the older ISA bus. This lack of hardware and software support on these faster buses does not typically present a problem for newer DMA devices because the newer DMA devices have been built and programmed to be compatible with the newer PCI and VL buses. Essentially, the PCI and VL bus compatible DMA devices have built into them the hardware and software that performs the function for the new DMA device that the ISA-compatible DMA controllers performed for the ISA-compatible DMA devices. These new DMA devices built to operate over the newer, faster PCI and VL buses must include sophisticated electronics and software support.
The older ISA-compatible DMA devices do not have this hardware support built into them because the older ISA-compatible DMA devices expect to have a DMA controller to perform the interface with ISA and memory buses. An ISA-compatible DMA device makes a request for access expecting an ISA-compatible DMA controller to set up ISA and memory buses and drive the devices. Because the newer PCI or VL buses do not have this type of DMA support, the older ISA-compatible DMA devices can no longer be used on a PCI or Vl bus. Computers with option slots, or other interface devices, connected to PCI and VL buses would benefit from being able to support ISA-compatible DMA devices over a PCI or VL bus.